消息对话框(MessageDialog)
消息对话框MessageDialog 类是一个模态对话框,用于向用户传递信息或向用户提问并接收回答。消息对话框还可以显示一个图标,并提供标准按钮以接受用户的响应。
消息对话框支持四种预定义的消息级别(或消息类型),它们的区别主要在于显示的预定义图标。可以通过设置 icon 属性为预定义的图标之一来指定消息类型。以下是四种预定义消息类型的说明:
| 图标 | 名称 | 描述 |
|---|---|---|
| 提问(Question) | 用于在正常操作中向用户提问。 | |
| 信息(Information) | 用于报告正常操作中的信息。 | |
| 警告(Warning) | 用于报告非关键性错误。 | |
| 严重(Critical) | 用于报告关键性错误。 |
消息对话框支持四种标准按钮,以下枚举值描述了这些标准按钮的标志:
| Constant | Value | Description |
|---|---|---|
| Ok | 0x0001 | 一个“确定”按钮。 |
| Cancel | 0x0002 | 一个“取消”按钮。 |
| Yes | 0x0004 | 一个“是”按钮。 |
| No | 0x0008 | 一个“否”按钮。 |
示例代码
静态函数
可以使用静态函数快速创建消息对话框,这些函数包括 information()、question()、warning() 和 critical()。
MessageDialog.information('Information', 'The file has been loaded.', MessageDialog.Ok);
// 显示一个信息对话框,标题为“Information”,内容为“文件已加载”,并带有“确定”按钮。

获取用户点击的按钮
可以在回调函数中获取用户点击的按钮。
const buttons = MessageDialog.Yes | MessageDialog.No; // 定义对话框按钮
const buttonCallback = (button: number): void => { // 回调函数
switch (button) {
case MessageDialog.Yes:
// 用户点击了“是”按钮
break;
case MessageDialog.No:
// 用户点击了“否”按钮
break;
default:
// 不应该到达这里
break;
};
};
MessageDialog.question('Question', 'Do you want to save your changes?', buttons, buttonCallback);
// 显示一个提问对话框,标题为“Question”,内容为“是否保存更改?”,带有“是”和“否”按钮,并处理用户响应。
